/**
 * World.h
 *
 * Author:
 *   Chris Herbison
 *
 * Description:
 *   Header file for the World class.
 */

#ifndef WORLD_H
#define WORLD_H

#include "Object.h"
#include "Ray.h"
#include "Light.h"
#include "KDTree.h"
#include <vector>

class World{
     public:
          World();
          void add(Object *o);
          void add(Light l);
		  void setTree(KDTree t);
          //void transform(Object *o);
          //void transformAll();
          void spawnRay(Ray r);
          
		  KDTree worldTree;
          vector<Ray> worldRays;
          vector<Light> worldLights;
          vector<Object*> worldObjects;
};

#endif
